# Upload project to Gitee
Write-Host "=== 上传项目到Gitee ===" -ForegroundColor Green

# 检查Git是否可用
try {
    git --version
    Write-Host "Git已安装" -ForegroundColor Green
} catch {
    Write-Host "错误：Git未安装或未在PATH中。请重启PowerShell或重启电脑后再试。" -ForegroundColor Red
    exit 1
}

# 1. 初始化Git仓库
Write-Host "1. 初始化Git仓库..." -ForegroundColor Yellow
git init

# 2. 配置Git用户信息（如果还没配置）
Write-Host "2. 配置Git用户信息..." -ForegroundColor Yellow
$userName = Read-Host "请输入你的Git用户名"
$userEmail = Read-Host "请输入你的Git邮箱"

git config --global user.name "$userName"
git config --global user.email "$userEmail"

# 3. 添加所有文件到暂存区
Write-Host "3. 添加文件到暂存区..." -ForegroundColor Yellow
git add .

# 4. 提交代码
Write-Host "4. 提交代码..." -ForegroundColor Yellow
git commit -m "Initial commit: Spring Boot + Vue.js 用户登录系统

功能特性:
- Spring Boot 3.x + Spring Security
- JWT认证机制
- Vue.js 3 前端界面
- MySQL数据库支持
- 完整的单元测试体系
- Service层重构，遵循单一职责原则
- 全局异常处理
- 异步通知服务
- 审计日志功能

技术栈:
- 后端: Spring Boot, Spring Security, JPA, JWT
- 前端: Vue.js 3, Element Plus
- 数据库: MySQL, H2(测试)
- 测试: JUnit 5, Mockito, JaCoCo
- 构建: Maven"

# 5. 添加远程仓库
Write-Host "5. 添加远程仓库..." -ForegroundColor Yellow
$giteeUrl = Read-Host "请输入你的Gitee仓库地址 (例如: https://gitee.com/your-username/your-repo.git)"

git remote add origin $giteeUrl

# 6. 推送到远程仓库
Write-Host "6. 推送到远程仓库..." -ForegroundColor Yellow
Write-Host "首次推送可能需要输入Gitee用户名和密码..." -ForegroundColor Cyan

try {
    git push -u origin master
    Write-Host "✅ 项目成功上传到Gitee!" -ForegroundColor Green
} catch {
    Write-Host "推送失败，尝试使用main分支..." -ForegroundColor Yellow
    git branch -M main
    git push -u origin main
    Write-Host "✅ 项目成功上传到Gitee!" -ForegroundColor Green
}

Write-Host "🎉 上传完成！你可以在Gitee上查看你的项目了。" -ForegroundColor Green